package com.swt.gap.common;

import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;

/**
 * 请填写说明
 *
 * @author sx
 * @date 2020/5/13 16:32
 */
@Getter
@NoArgsConstructor
@AllArgsConstructor
public enum FileTypeEnum {
    /**
     *文件类型
     */
    OTHER(0, "其他", 0, "其他", ""),
    CSV(1, "表单文件", 1, "表单数据", ".csv"),
    EXCEL03(1, "表单文件",1, "表单数据", ".xls"),
    EXCEL07(1, "表单文件",1, "表单数据", ".xlsx"),
    TXT(2, "文本文件",2, "文本数据",".txt"),
    WORD03(2, "文本文件",2, "文本数据", ".doc"),
    WORD07(2, "文本文件",2, "文本数据", ".docx"),
    JPG(3, "图片文件",3, "多媒体数据", ".jpg"),
    JPEG(3, "图片文件",3, "多媒体数据", ".jpeg"),
    PNG(3, "图片文件",3, "多媒体数据", ".png"),
    GIF(3, "图片文件",3, "多媒体数据", ".gif"),
    MP3(4, "音频文件",3, "多媒体数据", ".mp3"),
    MP4(5, "视频文件",3, "多媒体数据", ".mp4"),
    RM(5, "视频文件",3, "多媒体数据", ".rm"),
    RMVB(5, "视频文件",3, "多媒体数据", ".rmvb"),
    OGG(5, "视频文件",3, "多媒体数据", ".ogg"),
    AVI(5, "视频文件",3, "多媒体数据", ".avi"),
    EML(6, "邮件文件",4, "邮件数据", ".eml");

    private Integer fileTypeCode;
    private String fileTypeName;
    private Integer dataTypeCode;
    private String dataTypeName;
    private String suffix;

    public static Integer getFileTypeCodeBySuffix(String suffix) {
        for (FileTypeEnum nodeTypeEnum : FileTypeEnum.values()) {
            if (nodeTypeEnum.getSuffix().equals(suffix)) {
                return nodeTypeEnum.getFileTypeCode();
            }
        }
        return OTHER.fileTypeCode;
    }

    public static FileTypeEnum getFileTypeEnumBySuffix(String suffix) {
        for (FileTypeEnum nodeTypeEnum : FileTypeEnum.values()) {
            if (nodeTypeEnum.getSuffix().equals(suffix)) {
                return nodeTypeEnum;
            }
        }
        return OTHER;
    }


    public static Integer getDataTypeCode(String suffix){
        for (FileTypeEnum nodeTypeEnum : FileTypeEnum.values()) {
            if (nodeTypeEnum.getSuffix().equals(suffix)) {
                return nodeTypeEnum.getDataTypeCode();
            }
        }
        return OTHER.dataTypeCode;
    }
}
